Buy, Sell, or Hold Options
for Business Strategies
War Gaming:
what if this, what if that?
Buy this, Sell that?
test your ideas on a computer!
Goal for this page: get top level management, engineers, & scientists thinking outside-the-box!
This page will show CEOs and management how to test their Business Strategies and get a good look at the outcome of their decisions.
First, we need to estimate the amount of oil needed at each plant. (Recommend
downloading the CurvFit App, that has its source code included, in order to get an idea on what to do here.) The following code is just a sketch of what will be necessary to estimate oil production (i.e., 'demandEst') requirements for 'tomorrow' at each plant/refinery. The objective is to minimize curve fit error (i.e., match "tomorrow's Supply" to Sales history data).
call history ! match curve to data, thus producing a
! curve [y(i,j)] to extrapolate oil quantities of all 'k'th
! grades needed tomorrow, 't' future time, at each 'i'th plant.
! Curve fit 'salesHistory' data at each plant for all grades
! See curvFit source file for ideas how to do this curve
! fitting process. It produces curves that can extrapolate
! your data to time 't'. Need many data points for good
! extrapolation values.
t = time of 'tomorrow'
do i = 1, nRefineries
do j = 1, n???
do k = 1, nProducts
demandEst( i,j,k) = y( i,j,k) @ t
end do
end do
end do
The above code should provide a good estimate for oil production necessary for 'tomorrow'. With parameter 'demandEst' calculated, the find statement can be completed as follows:
Global all
problem supplyNeeds
ooo
FIND supplyEst; IN refineries; BY JUPITER;
MATCHING supplyErr; TO MAXIMIZE profit
The 2nd level Find statement code will execute Oil Production at All or several plants/refineries. The objective is to maximize profit while minimizing Pollution.
model refineries
pollution = 0: profit = 0: cost = 0: supplyErr = 0
do i = 1, nRefineries
do j = 1, nProducts
supplyQty(j) = supplyEst(i, j)
end do
crudeUsed = 0: crudeErr = 0
! finds Qty production @ each refinery to minimize overall
! pollution to restrict 'supplyQty(j)' to equal 'supplyEst(j)'
find supplyQty; in processing; by Jove;
with upper hi; and lower low;
matching crudeErr; to minimize pollution
do j = 1, nProducts
supplyErr = supplyErr + (supplyQty(j) - supplyEst(i, j))**2
end do
end do
! find best routes to deliver products
ooo
find routes; in distribution; ooo to minimize distPollution
profit = ??? ! calculate / measure it!
cost = ??? ! ditto
profit = profit - cost
end
model Processing ! jth distillation unit @ ith refinery
ooo
crudeErr = crudeErr + (totCrudeIn(j)– crudeUsed)**2
79 format( 1x,f8.4,20(g14.5, 1x))
end
model distribution
distPollution = 0
! your (algebraic) equations and constraints
! that model your distribution go here.
ooo
end